package 剑指offer_力扣版.Month07.day03数组;

public class 乘积小于K的子数组 {
    public int numSubarrayProductLessThanK(int[] nums, int k) {
        int pre = 0;//起始指针
        int res = 1;//记录窗口内的成绩
        int count = 0;//用来记录个数
        for(int i = 0;i < nums.length;i++){
            res *= nums[i];
            while(pre <= i && res >= k){
                res /= nums[pre];
                pre++;
            }
            //这里就是唯一的问题，我其他地方没有问题，写的很流畅正确率也保证了，就是这里不太能理解
            if(pre <= i){
                count += i - pre + 1;
            }
        }
        return count;
    }
}
